package com.junzhiit.nengji.cms.service;

import java.util.Map;

import com.junzhiit.nengji.cms.web.vo.DataTablesParamVO;
import com.junzhiit.nengji.cms.web.vo.NoticeAddVO;
import com.junzhiit.nengji.cms.web.vo.NoticeEditVO;
import com.junzhiit.nengji.cms.web.vo.NoticeReadVO;
import com.junzhiit.nengji.cms.web.vo.ResultVO;

public interface NoticeService {
	/**
	 * 
	 * TODO 查询所有公告信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:59:31
	 * @return Map<String,Object>
	 *
	 */
	public Map<String, Object> findAll(String sessionId, DataTablesParamVO dtp);
	
	/**
	 * 
	 * TODO 查询所有未读公告信息
	 * 
	 * @author DlamLiu
	 * @time 2018年6月19日 上午10:39:31
	 * @return Map<String,Object>
	 *
	 */
	public Map<String, Object> findAllUnread(String sessionId, DataTablesParamVO dtp);
	
	/**
	 * TODO 确认消息
	 * @author DlamLiu
	 * @time 2018年6月19日 下午1:40:53
	 * @return boolean
	 * 
	 */
	public ResultVO confirmNotice(NoticeReadVO read);
	
	/**
	 * TODO 确认所有消息
	 * @author DlamLiu
	 * @time 2018年6月19日 下午1:42:18
	 * @return boolean
	 * 
	 */
	public ResultVO confirmAllNotice(String sessionId);
	/**
	 * 
	 * TODO 获取所有公告消息列表
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:59:31
	 * @return Map<String,Object>
	 *
	 */
	public Map<String, Object> findAllNoticeNews(DataTablesParamVO dtp);

	/**
	 * 
	 * TODO 根据ID查询公告信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:59:39
	 * @return ResultVO
	 *
	 */
	public ResultVO findById(String id);

	/**
	 * 
	 * TODO 新增公告信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:59:46
	 * @return ResultVO
	 *
	 */
	public ResultVO add(String sessionId, NoticeAddVO noticeAddVO);

	/**
	 * 
	 * TODO 逻辑删除公告信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:59:54
	 * @return ResultVO
	 *
	 */
	public ResultVO delete(String id);

	/**
	 * 
	 * TODO 修改公告信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午3:00:01
	 * @return ResultVO
	 *
	 */
	public ResultVO edit(NoticeEditVO noticeEditVO);

	/**
	 * 
	 * TODO 置顶
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午3:00:09
	 * @return ResultVO
	 *
	 */
	public ResultVO toTop(String id,String sessionId);

	/**
	 * 
	 * TODO 改变status
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午3:00:18
	 * @return ResultVO
	 *
	 */
	public ResultVO changeStatus(String id);
	
	/**
	 * 
	 * TODO 使失效
	 * 
	 * @author Qjen
	 * @time 2018年5月15日 下午5:49:43
	 * @return ResultVO
	 *
	 */
	public ResultVO makeFailure(String id);
	
	/**
	 * 
	 * TODO (任务调度使失效)
	 * 
	 * @author Qjen
	 * @time 2018年5月15日 下午7:19:01
	 * @return ResultVO
	 *
	 */
	public ResultVO makeFailure();
	
}
